/*
 * Copyright 2022 MindMotion Microelectronics Co., Ltd.
 * All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#include "pin_init.h"
#include "hal_rcc.h"
#include "hal_gpio.h"

/*
 * TXD2 - PA2.
 * RXD2 - PA3.
 */
void BOARD_InitPins(void)
{
    GPIO_Init_Type gpio_init;

    /* PD4 - COM0 - L35. */
    gpio_init.Pins  = GPIO_PIN_4;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOD, &gpio_init);

    /* PC3 - COM1 - L40. */
    gpio_init.Pins  = GPIO_PIN_3;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOC, &gpio_init);

    /* PC13 - COM2 - L0. */
    gpio_init.Pins  = GPIO_PIN_13;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOC, &gpio_init);

    /* PD7 - COM3 - L1. */
    gpio_init.Pins  = GPIO_PIN_7;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOD, &gpio_init);

    /* PB9 - SEG0 - L2. */
    gpio_init.Pins  = GPIO_PIN_9;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOB, &gpio_init);

    /* PB8 - SEG1 - L3. */
    gpio_init.Pins  = GPIO_PIN_8;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOB, &gpio_init);

    /* PC12 - SEG2 - L4. */
    gpio_init.Pins  = GPIO_PIN_12;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOC, &gpio_init);

    /* PC11 - SEG3 - L5. */
    gpio_init.Pins  = GPIO_PIN_11;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOC, &gpio_init);

    /* PC10 - SEG4 - L6. */
    gpio_init.Pins  = GPIO_PIN_10;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOC, &gpio_init);

    /* PA15 - SEG5 - L7. */
    gpio_init.Pins  = GPIO_PIN_15;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOA, &gpio_init);

    /* PD3 - SEG6 - L8. */
    gpio_init.Pins  = GPIO_PIN_3;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOD, &gpio_init);

    /* PD2 - SEG7 - L9. */
    gpio_init.Pins  = GPIO_PIN_2;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOD, &gpio_init);

    /* PA12 - SEG8 - L10. */
    gpio_init.Pins  = GPIO_PIN_12;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOA, &gpio_init);

    /* PA11 - SEG9 - L11. */
    gpio_init.Pins  = GPIO_PIN_11;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOA, &gpio_init);

    /* PA10 - SEG10 - L12. */
    gpio_init.Pins  = GPIO_PIN_10;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOA, &gpio_init);

    /* PA9 - SEG11 - L13. */
    gpio_init.Pins  = GPIO_PIN_9;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOA, &gpio_init);

    /* PA8 - SEG12 - L14. */
    gpio_init.Pins  = GPIO_PIN_8;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOA, &gpio_init);

    /* PC9 - SEG13 - L15. */
    gpio_init.Pins  = GPIO_PIN_9;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOC, &gpio_init);

    /* PC8 - SEG14 - L16. */
    gpio_init.Pins  = GPIO_PIN_8;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOC, &gpio_init);

    /* PC7 - SEG15 - L17. */
    gpio_init.Pins  = GPIO_PIN_7;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOC, &gpio_init);

    /* PC6 - SEG16 - L18. */
    gpio_init.Pins  = GPIO_PIN_6;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOC, &gpio_init);

    /* PB15 - SEG17 - L19. */
    gpio_init.Pins  = GPIO_PIN_15;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOB, &gpio_init);

    /* PB14 - SEG18 - L20. */
    gpio_init.Pins  = GPIO_PIN_14;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOB, &gpio_init);

    /* PB13 - SEG19 - L21. */
    gpio_init.Pins  = GPIO_PIN_13;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOB, &gpio_init);

    /* PB12 - SEG20 - L22. */
    gpio_init.Pins  = GPIO_PIN_12;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOB, &gpio_init);

    /* PB11 - SEG21 - L23. */
    gpio_init.Pins  = GPIO_PIN_11;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOB, &gpio_init);

    /* PB10 - SEG22 - L24. */
    gpio_init.Pins  = GPIO_PIN_10;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOB, &gpio_init);

    /* PB2 - SEG23 - L25. */
    gpio_init.Pins  = GPIO_PIN_2;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOB, &gpio_init);

    /* PB1 - SEG24 - L26. */
    gpio_init.Pins  = GPIO_PIN_1;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOB, &gpio_init);

    /* PB0 - SEG25 - L27. */
    gpio_init.Pins  = GPIO_PIN_0;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOB, &gpio_init);

    /* PC5 - SEG26 - L28. */
    gpio_init.Pins  = GPIO_PIN_5;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOC, &gpio_init);

    /* PC4 - SEG27 - L29. */
    gpio_init.Pins  = GPIO_PIN_4;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOC, &gpio_init);

    /* PA7 - SEG28 - L30. */
    gpio_init.Pins  = GPIO_PIN_7;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOA, &gpio_init);

    /* PA6 - SEG29 - L31. */
    gpio_init.Pins  = GPIO_PIN_6;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOA, &gpio_init);

    /* PA5 - SEG30 - L32. */
    gpio_init.Pins  = GPIO_PIN_5;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOA, &gpio_init);

    /* PA4 - SEG31 - L33. */
    gpio_init.Pins  = GPIO_PIN_4;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOA, &gpio_init);

    /* PD5 - SEG32 - L34. */
    gpio_init.Pins  = GPIO_PIN_5;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOD, &gpio_init);

    /* PA3 - SEG33 - L36. */
    gpio_init.Pins  = GPIO_PIN_3;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOA, &gpio_init);

    /* PA2 - SEG34 - L37. */
    gpio_init.Pins  = GPIO_PIN_2;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOA, &gpio_init);

    /* PA1 - SEG35 - L38. */
    gpio_init.Pins  = GPIO_PIN_1;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOA, &gpio_init);

    /* PA0 - SEG36 - L39. */
    gpio_init.Pins  = GPIO_PIN_0;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOA, &gpio_init);

    /* PC2 - SEG37 - L41. */
    gpio_init.Pins  = GPIO_PIN_2;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOC, &gpio_init);

    /* PC1 - SEG38 - L42. */
    gpio_init.Pins  = GPIO_PIN_1;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOC, &gpio_init);

    /* PC0 - SEG39 - L43. */
    gpio_init.Pins  = GPIO_PIN_0;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOC, &gpio_init);

    /* PD6 - SEG40 - L58. */
    gpio_init.Pins  = GPIO_PIN_6;
    gpio_init.PinMode  = GPIO_PinMode_In_Analog;
    GPIO_Init(GPIOD, &gpio_init);
}

/* EOF. */
